[gdk] Add gdk_window_has_native() function
authorJavier Jardón <jjardon@gnome.org>
Mon, 28 Jun 2010 22:31:39 +0000 (00:31 +0200)
committerJavier Jardón <jjardon@gnome.org>
Thu, 1 Jul 2010 00:26:34 +0000 (02:26 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=622677

docs/reference/gdk/gdk3-sections.txt
gdk/gdk.symbols
gdk/gdkwindow.c
gdk/gdkwindow.h

index 89b53bb7c2b38167dc1930f88c7416aaf52bc93b..b253eaeeb26f8b9c8eb06bf63fc1a2d083407c1a 100644 (file)
@@ -595,6 +595,7 @@ gdk_window_move_resize
 gdk_window_scroll
 gdk_window_move_region
 gdk_window_flush
+gdk_window_has_native
 gdk_window_ensure_native
 gdk_window_reparent
 gdk_window_clear
index 59f172d7a59f979d40efafca61d172fce1ed3fcc..ca44318bf0fc31df70562163e1ac2d705d0841eb 100644 (file)
@@ -661,6 +661,7 @@ gdk_window_get_root_coords
 gdk_window_get_deskrelative_origin
 gdk_window_set_support_multidevice
 gdk_window_get_support_multidevice
+gdk_window_has_native
 gdk_window_set_background
 gdk_window_set_back_pixmap
 gdk_window_set_cursor
index afb2d427ad0409f5c3a0e339484880d78c7b6b14..8d45b8709e8f65074fda24d14a5e89a6a39c3927 100644 (file)
@@ -2399,6 +2399,29 @@ from_embedder (GdkWindowObject *window,
                  offscreen_x, offscreen_y);
 }
 
+/**
+ * gdk_window_has_native:
+ * @window: a #GdkWindow
+ *
+ * Checks whether the window has a native window or not. Note that
+ * you can use gdk_window_ensure_native() if a native window is needed.
+ *
+ * Returns: %TRUE if the %window has a native window, %FALSE otherwise.
+ *
+ * Since: 2.22
+ */
+gboolean
+gdk_window_has_native (GdkWindow *window)
+{
+  GdkWindowObject *w;
+
+  g_return_val_if_fail (GDK_IS_WINDOW (window), FALSE);
+
+  w = GDK_WINDOW_OBJECT (window);
+
+  return w->parent == NULL || w->parent->impl != w->impl;
+}
+
 /**
  * gdk_window_get_position:
  * @window: a #GdkWindow
index 6013a7fbb3f1908e498ab3bc22207ef91f7f91d5..1e15438c7158e382ac30d879b84b3df062aec1ba 100644 (file)
@@ -716,6 +716,7 @@ GdkWindow*    gdk_window_lookup_for_display (GdkDisplay      *display,
 
 /* GdkWindow */
 
+gboolean      gdk_window_has_native         (GdkWindow       *window);
 void              gdk_window_set_type_hint (GdkWindow        *window,
                                             GdkWindowTypeHint hint);
 GdkWindowTypeHint gdk_window_get_type_hint (GdkWindow        *window);